package main

import ("fmt"
		"time"
)

// time包

func main(){
	new:=time.Now()
	fmt.Println(new.Year(), new.Month(), new.Day(), new.Hour(), new.Minute(), new.Second())
	// 时间戳
	fmt.Println(new.Unix())
	fmt.Println(new.UnixNano())
	// time.Unix()
	ret:=time.Unix(1662038468,0)
	fmt.Println(ret)
	fmt.Println(ret.Year())
	// 时间间隔
	fmt.Println(time.Second)
// new+1小时
	fmt.Println(new.Add(24*time.Hour))
	// sub 两个时间相减
	nextYear,err:=time.Parse("2006-01-02","2022-09-01")
	if err != nil {
		fmt.Printf("Error parsing failed: %v\n", err)
		return
	}
	d:=new.Sub(nextYear)
	fmt.Println(d)
	fmt.Println("----")
	// 定时器
	// timer:=time.Tick(time.Second)
	// for t:=range timer{
	// 	fmt.Println(t) //1秒钟执行一次
	// }
	// 格式化时间 把语言中时间对象转换成字符串类型的时间
	fmt.Println(new.Format("2006-01-02 15:04:05"))
	//  2022/09/01 21:31:33
	fmt.Println(new.Format("2022/09/01 09:31:33 PM")) //PM代表12小时制,此处代表晚上21点
	// 按照对应的格式解析字符串类型的时间
	timeObj,err:=time.Parse("2006-01-02","2032-05-03")
	if err != nil {
		fmt.Printf("Error parsing time: %v\n",err)
		return
	}
	fmt.Println(timeObj)
	fmt.Println(timeObj.Unix())
}